package collection;

import java.util.ArrayList;
import java.util.Collection;

/**
 * 集合
 * 集合与数组一样，可以保存一组元素，并且操作元素都被封装成了方法，使用方便。
 * 集合有多种不同的数据结构可供使用
 *
 * java.util.Collection接口，是集合的顶级接口，规定了所有集合都应当具备的功能。
 *
 * 常见的子类型:
 * java.util.List:可重复且有序的集合，一般也成为"线性表"
 * java.util.Set:不可重复的集合
 * 这里元素是否重复是依靠元素自身的equals方法比较的结果
 */
public class CollectionDemo1 {
    public static void main(String[] args) {
        Collection c = new ArrayList();
        /*
            boolean add(E e)    注:先将E当作Object看待
            将给定元素添加到当前集合中，返回值表示元素是否成功添加。
            集合仅能存放引用类型元素
         */
        c.add("one");
        c.add("two");
        c.add("three");
        c.add("four");
        c.add("five");
        c.add(123);//触发自动装箱
        System.out.println(c);//[one, two, three, four, five, 123]
        /*
            int size()
            返回当前集合的元素个数
         */
        int size = c.size();
        System.out.println(size);//6
        /*
            boolean isEmpty()
            判断当前集合是否为空集(不含有任何元素, size=0)
         */
        boolean isEmpty = c.isEmpty();
        System.out.println("isEmpty:"+isEmpty);//isEmpty:false
        /*
            void clear()
            清空集合
         */
        c.clear();
        System.out.println(c);//[]
        System.out.println("size:"+c.size());//size:0
        System.out.println("isEmpty:"+c.isEmpty());//isEmpty:true
    }
}
